<?php

class Application_Model_PepPost extends Sgit_Model
{
    protected $_name = 'pep_post';
    protected $_primary = 'id';




    public function getPost($values)
    {
        
        
        $this->_element->Categorias=new Sgit_Form_Element_Select_Xml('PepPostCat');
        $this->_element->ProyectosByPep=new Sgit_Form_Element_Select_ProyectosByPep('proyecto');
       
        
        
        //permite pasar unico parametro id del contador
        if(is_numeric($values)){
            $id=$values;unset($values);$values['id']=$id;unset($id);
        } 
        
        
        $select=$this->getAdapter()
            ->select()
            ->from(array($this->_name))
            ->where('respuesta_a IS NULL');
           
           
        if (is_array($values['id']) || is_numeric($values['id']))
            $select->where("{$this->_name}.id IN (?)", $values['id']);


        if(is_numeric($values['id_pep']))
            $select->where('id_pep= ?', $values['id_pep']);
        
        $select->order(array("fecha desc", 'id DESC'));
        

        $rows = $this->getAdapter()->fetchAll($select);
        

        if($values['id_pep'] && !$this->respuestas)
            $this->respuestas=$this->getRespuestasAll($values['id_pep']);
        
        
        
        $rows = $this->_prepara($rows);
        
        
        
        
        if (is_numeric($values['id']))
            return $rows[0];
        else
            return $rows;

    }
    
    
    function getRespuestasAll($id_pep)
    {
       
        $select = $this->getAdapter()->select();
        $select->from(array($this->_name));

        $select->where('id_pep= ?', $id_pep);
        $select->where('respuesta_a IS NOT NULL');
        $select->order('fecha ASC');

        $rows = $this->getAdapter()->fetchAll($select);
        $rows = $this->_prepara($rows);

        $rows= $this->assocArray($rows,'respuesta_a');

        return $rows;

    }
    

    function _prepara($rows)
    {


        foreach ((array )$rows as $k => $v)
        {
            $rows[$k]['editor'] = (Zend_Auth::getInstance()->getIdentity()->id == $v['created_by']);
            $rows[$k]['respuestas'] =$this->respuestas[$v['id']]; 
            
            $rows[$k]['categoria_text']=$this->_element->Categorias->getMultiOption($v['categoria']);
            $rows[$k]['proyecto']=$this->_element->ProyectosByPep->getMultiOption($v['proyecto']);
            
  
        }

        return $rows;
    }
    
    
    
    /*
    function getComite($cambio_aceptado,$fecha_peticion_cambio,$propone=null)
    {
        $select=$this->getAdapter()->select();
        $select->from(array($this->_name))->where("objeto_cambio = 1 ");
            
        if($cambio_aceptado=='SI') 
            $select->where("cambio_aceptado = ?",'SI');
        elseif($cambio_aceptado=='NO') 
            $select->where("cambio_aceptado = ?",'NO');
        else $select->where("cambio_aceptado IS NULL");    
        
        if(!is_null($propone))
        {
            $select->where("id_usuario = ?",$propone,INTEGER);
        }   
        
        
        
        Sgit_Util_dateRange::run($select,$fecha_peticion_cambio,'fecha_peticion_cambio');
            
        return $this->getAdapter()->fetchAll($select);

    }
  

    function changeComite($id, $valor,$notas)
    {
        
        $row=$this->getRow($id);
        
        $m_proyecto = new Application_Model_ProyectosDC();
        $proyecto=$m_proyecto->getRow($row['id_proyecto']);
        
        if ($valor == 'SI'){
            $estado=6;
            $accion='aceptado';
        }else{
            $estado=1;
            $accion='rechazado';
        }

        //cierre proyecto 17
        if($row['id_sub_cat']==17)
        {
            $updateProyecto['estado']=$estado;
            $updateProyecto['f_final']=$row['fecha_peticion_cambio'];
            $m_proyecto->updateRow($updateProyecto,$row['id_proyecto']);
        }
        
        
        $update['responde_cambio']=$this->_auth->getIdentity()->id;
        $update['cambio_aceptado']=$valor;
        $update['notas_cambio']=$notas;
        
        $result= $this->updateRow($update,$id);
        
        if($result['status']=='ok'){
            $mail=new Sgit_Mail();
            $entrada['de'] = $this->_auth->getIdentity()->id;
            $entrada['asunto'] = 'Comite de Cambio: '. ucfirst($accion)." ".$proyecto['proyecto'];
            $entrada['body'] = "El Comite de Cambio ha $accion la propuesta de ".Sgit_Cache::single()->model('Usuario')->getKey($row['id_usuario']).":<br><br><br>Proyecto: ".$proyecto['proyecto']."<br>  ".$row['notas'];
            $entrada['body'] .="<br><br><b>Comentarios:<br>$notas</b>";

            $entrada['destinatarios'] = array($row['id_usuario']);
            $entrada['destinatariosCC']=unserialize($proyecto['accesos']);
            array_push($entrada['destinatariosCC'],34);
   
            $entrada['id_zona'] = $row['id_zona'];
            $entrada['tipo'] = 'Otros';
			
            
			$mail->sendMsg($entrada);
			
            return array('status'=>'ok');
        }else{
            return array('status'=>'ko');
        }
        
    }
*/
}
